package com.javabase.study.OOPFistPart;

/**
 * TODO
 * 内容：测试static关键字的用法
 * 要点：
 *     1. 在类中，有用static生命的成员变量为静态成员变量，也称为类变量。
 *     2. 类变量的生命周期和类相同，在整个程序执行期间都有效
 *     3. 静态变量为类的公用变量，属于类，被该类的所有实例共享，不具有线程安全性
 *     4. 静态变量在类被载入的时候被显式初始化
 *     5. 通过 类名.类属性/方法 来调用 静态变量 也可以通过对象引用或类名(不需要实例化)
 *         访问静态成员
 *     6. 在static方法中不可直接访问非static成员
 * 作者:jxx
 * 创建时间：2021/6/8
 */
public class TestStatic {
    int id;
    String name;
    String pwd;

    static String company;

    public TestStatic(int id,String name){
        this.id = id;
        this.name = name;
    }

    public void login(){
        printCompany();
    }

    public static void printCompany(){
        //login();调用非静态成员，编译就会报错
        company = "昆山灏轩教育"; //静态方法中对静态变量进行初始化
        System.out.println(company);
    }

    public static void main(String[] args){
        TestStatic ts = new TestStatic(101,"jxx");
        ts.printCompany();
        ts.company = "alibaba";
        ts.printCompany();

    }

}
